문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 집적 회로 (문단 편집) == 설계 == 집적 회로의 초창기, 즉 위에 나온 LSI, VLSI 등의 용어가 현역으로 사용되던 시절에는 회로를 종이에 그리고, 이를 사진 필름으로 찍은 뒤 포토 에칭[* Photo etching. 오늘날 반도체 웨이퍼 제작에 이용하는 기술인 리토그래피의 조상 격인 기술이다. 단순하게 설명하자면, 종이에 회로도를 그린다 -> 회로도를 사진으로 찍는다 -> 흑백 역전된 사진 필름을 대폭 축소 복사한다 -> 회로 기판에 특수한 광반응성 화학물질을 바르고 그 위에 회로도가 축소 복사된 사진 필름을 덮는다 -> 빛을 쬔다 -> 필름의 회로 부분은 투명하고 나머지 부분은 검정색이므로(종이에 그린 회로도에서는 회로가 검정색, 나머지 부분은 백색이지만, 이를 촬영한 사진 필름은 네거티브이므로 회로는 투명, 나머지 부분은 검정색이 된다) 회로 부분만 빛이 통과한다 -> 빛이 기판에 칠해진 광반응성 화학물질과 반응해 기판이 회로 모양대로 패인다 -> 회로를 만들 길이 준비되었다.]이라는 고색창연한 기술을 이용해 집적회로를 만들었다. 이처럼 손으로 레이아웃을 그리며 모든 회로를 설계하던 시대는 80년대에 이미 끝났으며, 그 이후로 디지털 회로는 전적으로 코딩으로 설계한다[* 단, 아날로그 회로는 아직도 레이아웃을 직접 그리는 경우가 대부분이다. 물론 손으로 직접 그리는 것은 아니고, EDA(Electronic Design Automation) tool의 도움을 받아 컴퓨터로 그린다.]. [[HDL]](Hardware Description Language)라는 특수한 프로그래밍 언어를 사용하며, 합성(synthesis)[* 프로그램 코드의 [[컴파일]]과 유사한 개념이다.]이라는 과정을 통해 넷리스트[* 트랜지스터, 셀([[팹]]에서 제공하는, 해당 공정이 지원하는 설계의 최소 단위들로 이루어진 라이브러리)와 전선(wire)으로만 구성된 설계도이다.]로 변환하고, 이를 블록 단위로 실제 칩 다이에 배치하는 레이아웃 과정을 거친다. HDL은 대표적으로 [[Verilog]]와 [[VHDL]]이 있는데 업계의 대세는 Verilog. 회로의 동작 구조를 프로그래밍 언어로 추상화하는 것인데, 합성을 통해 결국은 디지털 회로로 치환되어야 하므로 소프트웨어 프로그래밍과는 감각이 상당히 다르다. 코드를 봤을 때 회로의 구조가 눈에 안 들어오면 일반적으로 나쁜 코딩 스타일로 본다. 아무리 합성 툴의 최적화가 좋다고 하더라도 어떤 회로가 될지 모르면 생각지도 않은 곳에서 버그가 튀어나올 수 있다. [[컴파일러]]와도 비슷하다고 볼 수 있겠지만, 하드웨어 버그는 소프트웨어 버그와는 차원이 다른 문제이기 때문에, 설계도 굉장히 보수적으로 이루어진다.[* 일단 하드웨어가 제품에 탑재되면, 그 하드웨어가 어떤 문제를 일으켜도 교체할 방법도 없고 동작을 바꿀 방법도 없다. 운이 좋다면 소프트웨어적으로 해결이 가능할 수도 있긴 하지만 이 경우에도 막대한 성능 손실을 피하긴 어렵다.] 보통 전혀 새로운 모듈을 넣는 경우, 기존의 것도 남겨두고 레지스터 프로그래밍을 통해 둘 중 하나를 선택적으로 사용할 수 있는 구조를 만들고, 새 모듈이 새 제품에서 검증된 이후에야 다음번 제품에서 기존 모듈을 제거하는 식... 개발 단계에서는 당연히 모듈, IP, 칩 레벨에서 이중, 삼중으로 검증팀이 테스트한다. 검증팀이 설계팀보다 인력이나 자원이 더 많이 들어갈 정도. 칩의 구조 자체도 몇 겹의 대응 구조를 둘러서 만든다. 핀의 극성(0/1)을 뒤집는 기능은 기본이고, 내부 블럭들도 웬만한 I/O에는 이러한 기능을 단다. 물론 이렇게 몇겹으로 대응체제를 갖춰도 결국은 엔지니어들이 하는 일이라 버그가 한두 개씩은 제품까지 흘러나간다.[* [[CPU 게이트|멜트다운·스펙터]]가 이런 식으로 출고되어 20여 년 동안 발견 못한 채로 주구장창 쓰였다.] 그런 식으로 개발은 됐지만 버그 때문에 완제품까지 못 가고 통편집당한 기능은 CPU/GPU 개발사에 부지기수이다. 2010년대부터 공정의 미세화와 이에 따른 누설전류의 폭증[* 2019년 기준 시판되는 최신 CPU/GPU의 소자들은 동작(스위칭)할 때의 전력과 대기상태의 전력소모가 별 차이 없을 정도로 누설전류가 많다. 자동차로 치면 공회전 할 때랑 시속 100킬로로 달릴 때랑 연료 소모가 비슷한 셈이다.. 더군다나 이건 공정 자체의 문제이므로 미세화를 포기하지 않는 한 어떻게 할 수가 없다!]으로 저전력 설계의 중요성이 대두되어서, 사용하지 않는 회로는 클럭을 끈다든지(clock gating), 전원을 끊는다든지(power gating), 칩 곳곳에 사용량 측정 회로(activity monitor)를 심어두고 사용량이 낮은 곳은 클럭/전압을 최대한 내린다든지(DPM: dynamic power management)하는 각종 눈물나는(...) 노력이 이어지는 중이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기